/*
 * HashNode.hpp
 * Author: Elias Capito, Yanick Candaux
 * PCM
 */

#ifndef HASHNODE_HPP_
#define HASHNODE_HPP_

#include "BoardInfos.hpp"

namespace pcm {

class HashNode {

public:
	static LL cons;
	HashNode();
	virtual ~HashNode();
	
	bool m_sentinel;
	LL m_reversedKey;

	BoardInfos* m_item;
	HashNode* m_next;

	inline HashNode* next() {
		return m_next;
	}

	inline HashNode** pointerNext() {
		return &m_next;
	}

	inline BoardInfos *value() {
		return m_item;
	}

	inline void setValue(BoardInfos *val){
		m_item = val;
	}

	inline void setNext(HashNode *next){
		m_next = next;
	}
};



} /* namespace pcm */
#endif /* HASHNODE_HPP_ */
